﻿using System;
using System.Collections.Generic;
using System.Text;
using T.FAS.Runtime.Metadata.Entity;

namespace T.FAS.Runtime.Metadata.SPI
{
    public interface IMetaDataContentHandler
    {   
        /// <summary>
        /// 通过元数据列表创建其他元数据
        /// </summary>
        /// <param name="metadatas"></param>
        /// <param name="extType"></param>
        /// <returns></returns>
        List<IMetaDataContent> CreateMetaDataContent(List<IMetaData> metadatas, string extType);

        /// <summary>
        /// 合并元数据
        /// </summary>
        /// <param name="firstMetaData"></param>
        /// <param name="secondMetaData"></param>
        /// <returns></returns>
        Dictionary<string, object> MergeMetaData(IMetaData firstMetaData, IMetaData secondMetaData);
        /// <summary>
        /// 从资源广场引入
        /// </summary>
        /// <returns></returns>
        void CloneMetaDatas(string projectBranchID, List<ImportMetaData> changeMetaDatas, List<IMetaData> metaDatas);
    }
}
